This installation guide describes the procedures to install NetMos Technology Nm9735CV, Nm9745CV, Nm9835CV, Nm9845CV PCI serial ports in Linux platform.
Linux Platform
l Operating System : RedHat, SuSe
l Terminal Emulation AP : minicom
l Internet Dialer : Kppp
Find the available serial ports
Since Linux only support 4 serial ports (ttyS0, ttyS1, ttyS2, ttyS3) under the default condition. Most likely, ttyS0 & ttyS1 are supported by mother board's built-in serial controllers and ttyS2 & ttyS3 are free for additional I/O card.
Serial ports could be checked by the following commands.
setserial /dev/ttyS0 -a (COM-1)
setserial /dev/ttyS1 -a (COM-2)
setserial /dev/ttyS2 -a (COM-3)
setserial /dev/ttyS3 -a (COM-4)
If COM-1 is used by mouse, the response is similar to
/dev/ttyS0 : Device or resource busy
If the COM-1 does not attach any device, the response is similar to
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x3f8, irq: 4
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
In case ttyS2 (COM-3) is free, the response for command setserial /dev/ttyS2 -a is shown below.
/dev/ttyS2, Line 2, UART: unknown, Port: 0x3e8, irq: 4
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
Find the PCI card resource ( I/O port address & IRQ) for the serial ports
Enter the command more /proc/pci
The response is similar to the following
Bus 0, Device 11, function 0:
Serial controller : Unknown vendor Unknown device (rev 01).
Vendor id=9710, Device id=9735
Device id=9745
Device id=9820
Device id=9825
Device id=9835
Device id=9845
Medium devsel. Fast back-to-back capable. IRQ 11
Board with Nm9735CV part
I/O at 0xc000 [0xc001] serial port 1
0xc008 [0xc009] serial port 2
Board with Nm9745CV part
I/O at 0xc000 [0xc001] serial port 1
0xc008 [0xc009] serial port 2
0xc010 [0xc011] device 1
0xc018 [0xc019] device 2
0xc020 [0xc021] device 3
0xc028 [0xc029] device 4
Board with Nm9820CV part
I/O at 0xc000 [0xc001] serial port 1
I/O at 0xc400 [0xc401] not used
I/O at 0xc800 [0xc801] not used
I/O at 0xd000 [0xd001] not used
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
Board with Nm9825CV part
I/O at 0xc000 [0xc001] serial port 1
Board with Nm9835CV part
I/O at 0xc000 [0xc001] serial port 1
I/O at 0xc400 [0xc401] serial port 2
I/O at 0xc800 [0xc801] not used
I/O at 0xd000 [0xd001] not used
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
Board with Nm9845CV part
I/O at 0xc000 [0xc001] serial port 1
I/O at 0xc400 [0xc401] serial port 2
I/O at 0xc800 [0xc801] device 1
I/O at 0xd000 [0xd001] device 2
I/O at 0xd400 [0xd401] device 3
I/O at 0xd800 [0xd801] device 4
Board with Nm9755CV part
I/O at 0xc000 [0xc001] not used
I/O at 0xc400 [0xc401] not used
I/O at 0xc800 [0xc801] device 1
I/O at 0xd000 [0xd001] device 2
I/O at 0xd400 [0xd401] device 3
I/O at 0xd800 [0xd801] device 4
From the /proc/pci file, it is possible to find the PCI card's I/O port address and IRQ. Especially, the NetMos parts always shows
Vendor id=9710, Device id=9735
Device id=9745
Device id=9820
Device id=9825
Device id=9835
Device id=9845
Configure the parameters for ttyS2 or ttyS3
Enter (if ttyS2 or ttyS3 are free)
setserial /dev/ttyS2 port 0xc000 UART 16550A
irq 11 Baud_base 115200
setserial /dev/ttyS3 port 0xc008 UART 16550A
irq 11 Baud_base 115200
Check the setting for ttyS2 or ttyS3
Type setserial /dev/ttyS2 -a
/dev/ttyS2, Line 2, UART: 16550A, Port: 0xc000, irq: 11
Baud_base: 115200, clos_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinite
Flags: spd_normal skip_test
The ttyS2 or ttyS3 are ready for application
Installation Guide for PCI Parallel Ports
This installation guide describes the procedure to install the Nm9705,Nm9735CV, Nm9805CV, Nm9715CV, Nm9835CV, Nm9755CV PCI parallel ports in Linux platform.
Linux kernel provide a 'parport' code to support parallel port (/dev/lp0, /dev/lp1, /dev/lp2). This code provides the ability to share one port between multiple devices. And it is loadable when kernel is running.
The 'parport' code is split into two parts : generic (which deals with port sharing) and architecture-dependent eg. X86, SPARC. (which deals with actually using the port). Thus, please take the following steps to install 'parport' module!
Check the on-board parallel port's hardware resources
Most likely each motherboard has a built-in parallel port. And its hardware resources are settable with BIOS utility.
Enter the command more /proc/pci
The response is similar to the following
Bus 0, Device 11, function 0:
Serial controller : Unknown vendor Unknown device (rev 01).
Vendor id=9710, Device id=9705
Device id=9735
Device id=9805
Device id=9815
Device id=9835
Device id=9855
Medium devsel. Fast back-to-back capable. IRQ 11
Board with Nm9705CV part
I/O at 0xc000 [0xc001] printer port
0xc008 [0xc009] ECP/EPP config registers
Board with Nm9735CV part
I/O at 0xc000 [0xc001] not used
0xc008 [0xc009] not used
0xc010 [0xc011] printer port
0xc018 [0xc019] ECP/EPP config registers
Board with Nm9805CV part
I/O at 0xc000 [0xc001] printer port
I/O at 0xc400 [0xc401] ECP/EPP config registers
I/O at 0xc800 [0xc801] not used
I/O at 0xd000 [0xd001] not used
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
Board with Nm9715CV part
I/O at 0xc000 [0xc001] printer port 1
I/O at 0xc400 [0xc401] ECP/EPP config registers 1
I/O at 0xc800 [0xc801] printer port 2
I/O at 0xd000 [0xd001] ECP/EPP config registers 2
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
Board with Nm9835CV part
I/O at 0xc000 [0xc001] not used
I/O at 0xc400 [0xc401] not used
I/O at 0xc800 [0xc801] printer port
I/O at 0xd000 [0xd001] ECP/EPP config registers
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
Board with Nm9755CV part
I/O at 0xc000 [0xc001] printer port 1
I/O at 0xc400 [0xc401] ECP/EPP config registers 1
I/O at 0xc800 [0xc801] printer port 2
I/O at 0xd000 [0xd001] ECP/EPP config registers 2
I/O at 0xd400 [0xd401] not used
I/O at 0xd800 [0xd801] not used
Install 'parport' module
To load the generic 'parport' code
Type insmod parport.o
To load the architecture-dependent code to tell 'parport' code
insmod parport_pc.o io=0x378,0xc000,0xc800
irq=7, irq=11, none
or
insmod parport_pc.o io=0x378,0xc000,0xc800
irq=7,11,none
You have three PC-style ports, one at 0x378 with IRQ 7, one at
0xc000 with IRQ11, one at 0xc800 with no IRQ.
Check the attached printer device [optional]
Once the architecture-dependent part of the paraport code is loaded into the kernel. You could enter the following command
insmod parport_probe.o
To check any attached devices and log a message similar to
parport0: Printer, epson
Then /dev/lp0, /dev/lp1 and /dev/lp2 are ready for service